package com.juma.cartridge.rlock.aop;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Lock {

    /**
     * key:锁的唯一标识
     * @return
     */
    String key();
    
    /**
     * 是否是公平锁
     * @return
     */
    boolean fair() default false;
	
    /**
     * 锁时长(秒)
     * @return
     */
    int lockSeconds() default 30;
    
    
    /**
     * 锁等待时,进行重新抢占锁的间隔时长(毫秒)
     * @return
     */
    int retryWaitTimes() default 10;
}
